﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CoreEx.Common.Repository
{
    public interface IStateTrackerRepository
    {
        IStateTracker GetStateTracker<T>(T owner) where T:class;
        IStateTracker GetStateTrackerByTarget<TTarget>(TTarget target) where TTarget : class;
        void Release<T>(T owner) where T:class;
        int Count { get; }
        bool IsTracked<T>(T target) where T:class;
    }
}
